package com.deyuanyun.pic.insp.mapper;

import com.deyuanyun.pic.insp.domain.DefectOther;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;

import java.util.*;

public interface DefectOtherMapper {
	int deleteByPrimaryKey(String id);

	int insert(DefectOther record);

	int insertSelective(DefectOther record);

	DefectOther selectByPrimaryKey(String id);

	int updateByPrimaryKeySelective(DefectOther record);

	int updateByPrimaryKey(DefectOther record);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月25日上午11:05:29
	 * @方法说明:根据管线ID查询检测管段信息
	 * @参数:@param lineId:管线ID
	 * @参数:@return
	 * @return:List<HashMap<String,Object>>
	 * 
	 */
	List<HashMap<String, Object>> getDetectionSegmentByLineId(@Param("lineId") String lineId);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月25日下午2:22:17
	 * @方法说明:根据检测管段ID得到计划任务相关信息
	 * @参数:@param detectionSegmentId:检测管段ID
	 * @参数:@return
	 * @return:List<HashMap<String,Object>>
	 * 
	 */
	List<HashMap<String, Object>> getDetectionTaskByDetectionSegmentId(
			@Param("detectionSegmentId") String detectionSegmentId);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月25日下午2:33:21
	 * @方法说明:根据检测管段ID查询物理管段信息
	 * @参数:@param detectionSegmentId
	 * @参数:@return
	 * @return:List<HashMap<String,Object>>
	 * 
	 */
	List<HashMap<String, Object>> getPipeSegmentByDetectionSegmentId(
			@Param("detectionSegmentId") String detectionSegmentId);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月28日下午7:15:57
	 * @方法说明:查询其他缺陷中的凹陷主键ID
	 * @参数:@param map:{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:ArrayList<String>：凹陷主键ID集合
	 * 
	 */
	ArrayList<String> getInspDefectDepressedCountAll(HashMap<String, Object> map);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月28日下午7:30:09
	 * @方法说明:查询凹陷0%OD-2%OD的缺陷的凹陷凹陷主键ID
	 * @参数:@param map:{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:ArrayList<String>：凹陷ID集合
	 *
	 */
	ArrayList<String> getZeroToTwoCountForInspDefectDepressed(HashMap<String, Object> map);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月28日下午7:30:09
	 * @方法说明:查询凹陷2%OD-6%OD的缺陷的凹陷凹陷主键ID
	 * @参数:@param map:{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:ArrayList<String>：凹陷ID集合
	 *
	 */
	ArrayList<String> getTwoToSixCountForInspDefectDepressed(HashMap<String, Object> map);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月28日下午7:32:18
	 * @方法说明:查询凹陷大于6%OD的缺陷的凹陷凹陷主键ID
	 * @参数:@param map:{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:ArrayList<String>:凹陷ID集合
	 *
	 */
	ArrayList<String> getGtSixCountForInspDefectDepressed(HashMap<String, Object> map);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月28日下午7:34:15
	 * @方法说明:查询与焊缝相关的凹陷主键ID集合
	 * @参数:@param map:{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:ArrayList<String>：凹陷主键ID集合
	 *
	 */
	ArrayList<String> getGwwCountBySunken(HashMap<String, Object> map);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月28日下午7:23:34
	 * @方法说明: 查询与金属损失相关的凹陷主键ID
	 * @参数:@param map{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:ArrayList<String>：凹陷主键ID集合
	 *
	 */
	ArrayList<String> getMetalLossBySunken(HashMap<String, Object> map);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年9月28日下午8:14:46
	 * @方法说明:查询深度最大的凹陷主键ID集合
	 * @参数:@param map{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:ArrayList<String> 凹陷主键ID集合
	 *
	 */
	ArrayList<String> getMaxMaxDepthBySunken(HashMap<String, Object> map);

	/**
	 * 
	 * 
	 * @创建者:严祥
	 * @创建时间：2015年10月8日下午4:03:20
	 * @方法说明:查询凹陷特征统计
	 * @参数:@param ap{inspTaskId:检测任务ID,pipeLineId:管线ID,pipeSegmentId[]:物理管段ID,
	 *            inspSegmentId:检测管段ID }
	 * @参数:@return
	 * @return:HashMap<String,Object>
	 *
	 */
	LinkedHashMap<String, Object> getSunkenCharacteristicDistributionStatisticsByParm(HashMap<String, Object> map);

	/**
	 * 
	 * 查询缺陷
	 * 
	 * @author 王敏
	 * @time 2015年10月9日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 *            beginMilfage:起点里程 endMilfage:终点里程 beginLength endLength :缺陷长度
	 *            beginWidth endWidth: 缺陷宽度 beginDepth endDepth:峰值深度 beginClock
	 *            endClock:时钟方位 featureType:缺陷类型 featureTypeList:缺陷类型数组
	 *            otherList:辅助查询数组
	 * 
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public Page<LinkedHashMap<String, Object>> findPage(HashMap param);

	/**
	 * 
	 * 查询缺陷 导出列表
	 * 
	 * @author 王敏
	 * @time 2015年10月9日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 *            beginMilfage:起点里程 endMilfage:终点里程 beginLength endLength :缺陷长度
	 *            beginWidth endWidth: 缺陷宽度 beginDepth endDepth:峰值深度 beginClock
	 *            endClock:时钟方位 featureType:缺陷类型 featureTypeList:缺陷类型数组
	 *            otherList:辅助查询数组
	 * 
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public Page<LinkedHashMap<String, Object>> findPageExport(HashMap param);

	/**
	 * 
	 * 统计柱状图
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsBar(HashMap param);

	/**
	 * 
	 * 统计列表
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsList(HashMap param);

	/**
	 * 
	 * 统计时钟图
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsClick(HashMap param);

	/**
	 * 
	 * 其他统计列表数据
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsOtherList(HashMap param);

	/**
	 * 
	 * 其他统计柱状图 环焊缝
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsOtherHBar(HashMap param);

	/**
	 * 
	 * 其他统计柱状图-制管焊缝
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsOtherZGBar(HashMap param);

	/**
	 * 
	 * 焊缝统计柱状图-列表
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsgirthWeldList(HashMap param);

	/**
	 * 
	 * 焊缝统计柱状图-柱状图
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsgirthWeldBar(HashMap param);

	/**
	 * 
	 * 焊缝统计柱状图-时钟图
	 * 
	 * @author 王敏
	 * @time 2015年10月15日下午4:22:37
	 * @param taskId:检测任务ID
	 *            taskSegmentId:检测管段ID lineId:管道ID segmentId:管段ID
	 * @return LinkedHashMap<String,Object> 集合
	 * @see
	 *
	 */
	public List<LinkedHashMap<String, Object>> findStatisticsgirthWeldClick(HashMap param);


	public Page<LinkedHashMap<String,Object>> queryExportApprarse(HashMap param);

	public List<Map<String,Object>> queryBar(HashMap param);

	public List<Map<String,Object>> queryTime(HashMap param);
}